<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui">

<ui:composition template="../template/layout.xhtml">
	<ui:define name="titulo">#{pedidoControle.tituloPagina}</ui:define>

	<ui:define name="frConteudo">
		<h:panelGrid columns="1" border="0" height="100%">
			<!-- bloco de edição -->
			<p:panel header="#{pedidoControle.tituloPagina}"
				rendered="#{pedidoControle.estadoCrud}">
				<h:panelGrid columns="1">
					<f:facet name="header">
						<p:messages id="msgErro" />
					</f:facet>

					<h:panelGrid columns="1" border="0"
						rendered="#{!pedidoControle.estadoFormVazio}">

						<p:tabView cache="false">
							<!-- formulario pedido -->
							<p:tab title="Pedido">
								<h:form id="formPedido">
									<h:panelGrid columns="1" border="0" height="100%">
										<!-- bloco de edição -->
										<p:panel header="#{pedidoControle.tituloPagina}"
											rendered="#{pedidoControle.estadoCrud}">
											<h:panelGrid columns="1">
												<f:facet name="header">
													<p:messages id="msgErro" />
												</f:facet>

												<h:panelGrid columns="2" border="0">
													<h:outputLabel value="#{msg.pedidoData}" for="dataPedido" />
													<p:calendar id="dataPedido" label="#{msg.pedidoData}"
														value="#{pedidoControle.infoBean.dataPedido}"
														required="true"
														requiredMessage="#{msg.pedidoDataRequiredMessage}"
														navigator="true" showButtonPanel="true" effect="fold"
														locale="pt" pattern="dd-MM-yyyy" size="15" />

													<h:outputLabel value="#{msg.pedidoReferencia}"
														for="referencia" />
													<h:inputText id="referencia"
														label="#{msg.pedidoReferencia}"
														value="#{pedidoControle.infoBean.referenciaCI}" size="15"
														maxlength="12" required="true"
														requiredMessage="#{msg.pedidoReferenciaRequiredMessage}" />

													<h:outputLabel value="#{msg.pedidoRemetente}"
														for="remetente" />
													<h:selectOneMenu id="remetente"
														value="#{pedidoControle.infoBean.area}" required="true"
														requiredMessage="#{msg.pedidoRemetenteRequiredMessage}"
														style="with:700px">
														<f:selectItems
															value="#{areaControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<h:outputLabel value="#{msg.pedidoDesc}" for="pedidoDesc" />
													<h:inputTextarea id="pedidoDesc" label="#{msg.pedidoDesc}"
														value="#{pedidoControle.infoBean.descricao}"
														required="true"
														requiredMessage="#{msg.pedidoDescRequiredMessage}"
														rows="3" cols="40" />

													<h:outputLabel value="#{msg.statusPedido}"
														for="status" />
													<h:selectOneMenu id="status"
														value="#{pedidoControle.infoBean.statusPedido}" required="true"
														requiredMessage="#{msg.statusPedidoRequiredMessage}"
														style="with:700px">
														<f:selectItems
															value="#{statusPedidoControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<f:facet name="footer">
														<h:panelGroup>
															<center>
																<h:commandButton id="salvarButton"
																	value="#{msg.salvarButton}"
																	action="#{pedidoControle.gravar}"
																	rendered="#{pedidoControle.estadoAdicionar}" >
																	<f:ajax execute="@form" render=":formPedido :formListagem" />
																</h:commandButton>
																<h:commandButton id="alterarButton"
																	value="#{msg.alterarButton}"
																	action="#{pedidoControle.gravar}"
																	rendered="#{pedidoControle.estadoActualizar}" />
																<h:commandButton id="eliminarButton"
																	value="#{msg.eliminarButton}"
																	action="#{pedidoControle.excluir}"
																	rendered="#{pedidoControle.estadoEliminar}"
																	onclick="if(!confirm('Confirma a exclusão do registo?')) return false;" />
																<h:commandButton id="limparButton"
																	value="#{msg.limparButton}" type="reset"
																	rendered="#{pedidoControle.estadoAdicionar}" />
																<h:commandButton id="cancelarButton"
																	value="#{msg.cancelarButton}"
																	action="#{pedidoControle.voltar}" immediate="true" />
															</center>
														</h:panelGroup>
													</f:facet>
												</h:panelGrid>
											</h:panelGrid>
										</p:panel>
									</h:panelGrid>
								</h:form>
							</p:tab>
							<!-- fim formulario pedido -->
							
							<!-- formulario items do pedido -->
							<p:tab title="Items">
								<h:form id="formItem">
									<h:panelGrid columns="1" border="0" height="100%">
										<!-- bloco de edição -->
										<p:panel header="#{pedidoControle.tituloPagina}"
											rendered="#{!pedidoControle.estadoEliminar}">
											<h:panelGrid columns="1">
												<f:facet name="header">
													<p:messages id="msgErro" />
												</f:facet>

												<h:panelGrid columns="2" border="0">
													<h:outputLabel value="#{msg.produto}" for="produto" />
													<h:selectOneMenu id="produto"
														value="#{pedidoControle.infoBeanItem.produto}"
														required="true"
														requiredMessage="#{msg.pedidoRemetenteRequiredMessage}"
														style="with:700px">
														<f:selectItems
															value="#{produtoControle.itemsAvailableSelectOne}" />
													</h:selectOneMenu>

													<h:outputLabel value="#{msg.itemPedidoQuantidade}"
														for="quantidade" />
													<p:spinner id="quantidade"
														label="#{msg.itemPedidoQuantidade}"
														value="#{pedidoControle.infoBeanItem.quantidade}" 
														min="1" max="5" 
														size="5" maxlength="5" required="true"
														requiredMessage="#{msg.itemPedidoQuantidadeRequiredMessage}" />

													<f:facet name="footer">
														<h:panelGroup
															rendered="#{pedidoControle.estadoAdicionar || pedidoControle.estadoActualizar}">
															<center>
																<h:commandButton id="adicionarButton"
																	value="#{msg.adicionarButton}"
																	action="#{pedidoControle.adicionarItem}">
																	<f:ajax execute="@form" render=":formItem :formListagem" />
																</h:commandButton>
																<h:commandButton id="limparButton2"
																	value="#{msg.limparButton}" type="reset" />
															</center>
														</h:panelGroup>
													</f:facet>
												</h:panelGrid>
											</h:panelGrid>
										</p:panel>
									</h:panelGrid>
								</h:form>
							</p:tab>
							<!-- fim do formulario items do pedido -->
							
						</p:tabView>
					</h:panelGrid>
					
					<!-- formulario de listagem -->
					<h:form id="formListagem">
						<h:panelGrid id="listaItems">
							<p:dataTable id="tabelaItems" var="beanItem"
								value="#{pedidoControle.listaInfosItem}" paginator="true"
								rows="5">

								<f:facet name="header">
									<h:outputLabel value="#{pedidoControle.tituloPagina}" />
								</f:facet>

								<f:facet name="footer">
								</f:facet>

								<p:column filterBy="#{beanItem.produto.produto}">
									<f:facet name="header">
										<h:outputText value="#{msg.produto}" />
									</f:facet>
									<h:outputText value="#{beanItem.produto.produto}" />
								</p:column>

								<p:column>
									<f:facet name="header">
										<h:outputText value="#{msg.itemPedidoQuantidade}" />
									</f:facet>
									<h:outputText value="#{beanItem.quantidade}" />
								</p:column>

								<p:column>
									<h:panelGroup>
										<h:commandLink action="#{pedidoControle.preparaEditar}">
											<h:graphicImage library="imagens" name="editar16a.png"
												style="border:0" />
											<h:outputText value="#{msg.geralLinkAlterar}" />
											<f:setPropertyActionListener
												target="#{pedidoControle.infoBeanItem}" value="#{beanItem}" />
										</h:commandLink>
										<h:outputText value="  " />
										<h:commandLink action="#{pedidoControle.preparaEliminar}">
											<h:graphicImage library="imagens" name="deletar16a.png"
												style="border:0" />
											<h:outputText value="#{msg.geralLinkEliminar}" />
											<f:setPropertyActionListener
												target="#{pedidoControle.infoBeanItem}" value="#{beanItem}" />
										</h:commandLink>
									</h:panelGroup>
								</p:column>
							</p:dataTable>
						</h:panelGrid>
					</h:form>
					<!-- fim formulario de listagem -->
					
				</h:panelGrid>
			</p:panel>
			<!-- fim do bloco de edição -->
			<h:form>
				<center>
					<h:commandLink action="#{pedidoControle.voltar}" immediate="true"
						value="#{msg.geralLinkListaRegistos}" />
				</center>
			</h:form>
		</h:panelGrid>
	</ui:define>
</ui:composition>
</html>